package org.jeecg.modules.wlhy.tlaccount.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: hy_tl_account
 * @Author: jeecg-boot
 * @Date:   2022-10-07
 * @Version: V1.0
 */
@Data
@TableName("hy_tl_account")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="hy_tl_account对象", description="hy_tl_account")
public class HyTlAccount implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
	/**1系统用户 2 货主 3 货主子账号  4 司机 5车队长*/
//	@Excel(name = "1系统用户 2 货主 3 货主子账号  4 司机 5车队长", width = 15)
    @ApiModelProperty(value = "1系统用户 2 货主 3 货主子账号  4 司机 5车队长")
    private String utype;
//    @Excel(name = "bizUserId", width = 15)
    @ApiModelProperty(value = "bizUserId")
    private String bizUserId;
    /**根据utype=2货主id；=4司机id；=5车队长id*/
//    @Excel(name = "根据utype=2货主id；=4司机id；=5车队长id", width = 15)
    @ApiModelProperty(value = "根据utype=2货主id；=4司机id；=5车队长id")
    private String uid;
	/**通联userid*/
//	@Excel(name = "通联userid", width = 15)
    @ApiModelProperty(value = "通联userid")
    private String tlUserId;

    @ApiModelProperty(value = "phone")
    private String phone;

    @Excel(name = "账户名称", width = 15)
    @ApiModelProperty(value = "账户名称")
    private String accName;

//    @Excel(name = "账户号码", width = 15)
    @ApiModelProperty(value = "账户号码")
    private String accNo;

	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**删除状态(0-正常,1-已删除)*/
    @ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
    @TableLogic
    private String delFlag;
	/**账户金额*/
	@Excel(name = "账户金额", width = 15)
    @ApiModelProperty(value = "账户金额")
    private BigDecimal amt;
	/**可用余额*/
	@Excel(name = "可用余额", width = 15)
    @ApiModelProperty(value = "可用余额")
    private BigDecimal availAmt;
	/**冻结金额*/
	@Excel(name = "冻结金额", width = 15)
    @ApiModelProperty(value = "冻结金额")
    private BigDecimal frzAmt;

    private BigDecimal costService;//服务费

	/**账户状态(1正常2冻结3)*/
	@Excel(name = "账户状态(1正常2冻结3)", width = 15)
    @ApiModelProperty(value = "账户状态(1正常2冻结)")
    private String st;

    @ApiModelProperty(value = "开通状态(0未开通,1开通)")
    private String izOpen;

    @ApiModelProperty(value = "可交易状态(0否1是)")
    private String paySt;

/*    @TableField(exist = false)
    private JSONObject memberInfo;*/

    @TableField(exist = false)
    private String msg;

    private String izPhoneChecked;
    private String izSignContract;
    private String izBindBankCard;

    private String izOcrIdcard;
    private String izOcrRegnum;
    private String izTransportCertificate;
    private String bankCardNo;
    private String carId;
    private String subAcctNo;


//    @TableField(exist = false)
//    private String memberType;
    @TableField(exist = false)
    private BigDecimal djsFee;//待结算运费

    @TableField(exist = false)
    private BigDecimal totalFee;//累计运费

    @TableField(exist = false)
    private BigDecimal totalCostService;//累计服务费

}
